Method and device for sourcing and constructing a playlist

ABSTRACT

An electronic device and method for sourcing and/or constructing a playlist are provided. An assignment of a playlist identifying a plurality of songs is received. A plurality of devices from which the plurality of songs may be retrieved is determined. The availability of the plurality of devices is determined. At least one of the plurality of devices is connected to in order to to access at least one of the plurality of songs. Memory of the electronic device can be scanned for stored songs to incorporate into the playlist.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 13/282,758, filed Oct. 27, 2011, which is a continuation of U.S. patent application Ser. No. 11/563,232, filed Nov. 27, 2006, which is a continuation of U.S. patent application Ser. No. 09/805,470, filed Mar. 12, 2001, which claims the benefit of U.S. Provisional Application No. 60/246,842, filed Nov. 8, 2000. The disclosures of these applications are hereby incorporated by reference in their entireties.

BACKGROUND

The present disclosure relates to the field of audio file transfers and, more particularly, relates to the field of management and distribution of audio files over a computer network such as the Internet.

The Internet is a worldwide array of interconnected computers and information servers that allow anyone with a computer and access to the Internet to get information about virtually any subject 24 hours a day. For the average consumer, an Internet Service Provider (ISP) provides access to the Internet. ISPs such as CompuServe, Prodigy, and America On-Line, currently link over ten million users to the Internet. Users typically connect to the ISP by using standard telephone lines and a telephone modem. Cable modems that allow a user to connect to the ISP over cable television lines, and satellite connections to the Internet, are also available.

The Internet provides a wealth of information from stock reports to headline news. One of the newer services provided on the Internet is a streaming audio (e.g., RealAudio and MPEG audio) service. Streaming audio services are often provided in connection with the World Wide Web (Web) and thus are often called Web radio broadcasts. With streaming audio, a user with a Personal Computer (PC), a sound card, and the necessary software can listen to audio programs from anywhere in the world. For example, Radio Prague provides daily Internet broadcasts from the Czech Republic. Listeners in the U.S. can listen to these Web radio broadcasts either in real time, or stored for later replay. Thus, unlike more traditional radio broadcasts where the listener must be within a reception area, Web radio broadcasts can be heard anywhere, so long as the listener has a connection to the Internet and the necessary computer hardware and software.

Unfortunately, even with the ever-decreasing cost of personal computers, the hardware and software needed to listen to a Web radio broadcast is beyond the financial means of many people. Even for those that can afford a personal computer, listening to a Web radio broadcast ties up the computer so that the user cannot use it for other purposes. Moreover, the use of a personal computer to receive streaming audio (e.g., Web radio broadcasts) requires a certain amount of computer literacy on the part of the user. The user must be able to install the Web Radio software, configure the Web Radio software to communicate with the ISP, and find the various Web radio broadcasts provided on the Web.

In addition to listening to Web radio broadcasts, users may wish to listen to audio files. With a group of PC's in a home and in a network, users can download songs from one PC to another or upload songs from one PC to another. However, users cannot play a song on one PC by using the controls of another PC. In addition, the users must purchase multiple PC's, which can be costly. Further, the user must be able to install the network connection and the appropriate software. Moreover, even if the user can afford to purchase multiple PC's and install the proper connection, the user would have difficulty playing music in addition to performing other tasks on the PC. For example, the Web radio broadcast may be interrupted. Also, a skip over parts of a song may result if the user is using a word processing program at the same time as listening to music.

SUMMARY

The present disclosure provides an electronic device and method that sources and/or constructs a playlist. In one aspect, a method of operating a wireless electronic device is provided that receives an assignment of a playlist identifying a plurality of songs, determines a plurality of devices from which the plurality of songs may be retrieved, determines the availability of the plurality of devices, and connects to at least one of the plurality of devices to access at least one of the plurality of songs.

In another aspect, a device and method of operating a device are provided that receive a playlist assigned to the electronic device, the playlist identifying a plurality of songs, wherein at least one of the plurality of songs is not stored on the electronic device and scanning the memory for songs to incorporate into the playlist.

In another aspect, a method of operating an electronic device is provided. An assignment of a playlist identifying a plurality of songs is received, wherein at least one of the plurality of songs is not stored on the electronic device. A memory of the electronic device is scanned for stored songs to incorporate into the playlist. A plurality of devices from which the plurality of songs may be retrieved is determined. The availability of the plurality of devices is determined. At least one of the plurality of devices is connected to in order to access the at least one of the plurality of songs.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The various novel features of the invention are illustrated in the figures listed below and described in the detailed description that follows.

FIG. 1 is a perspective view of one embodiment of a tabletop intelligent radio apparatus.

FIG. 2 is a block diagram of the functional elements of the intelligent radio apparatus.

FIG. 3A shows a default display that appears while a Web broadcast is being received.

FIG. 3B shows a menu display that allows the user to select one of the command and setup displays shown in FIGS. 3C-3E.

FIG. 3C illustrates a select language display that allows a user to specify desired languages (e.g., English, French, etc.).

FIG. 3D illustrates a display that allows a user to select a type of program material (e.g., news, sports, weather, etc.).

FIG. 3E illustrates a display that allows a user to select various program broadcasts.

FIG. 4 illustrates a data-entry display that the intelligent radio apparatus uses to allow the user to input alphanumeric text.

FIG. 5 is a flowchart that illustrates operation of the intelligent radio apparatus.

FIG. 6 is a flow graph that illustrates operation of the intelligent radio networked system.

FIG. 6A illustrates the information management and data processing functions provided by a Web radio Web site (e.g., www.webradio.com) to produce a list of Web radio broadcast stations for the user.

FIG. 6B illustrates a relationship between the Web radio Web site and other web sites that provide streaming audio programming.

FIG. 7 is a perspective view of a tabletop intelligent radio tuner.

FIG. 8 is a block diagram of the functional elements of the intelligent radio tuner shown in FIG. 7.

FIG. 9 is a block diagram of the functional elements of an embodiment of the intelligent radio that provides a remote playback capability.

FIG. 10 is a block diagram of the functional elements of an embodiment of the intelligent radio that provides a remote access capability.

FIG. 11 is a perspective view of one embodiment of the computing environment of a network-enabled audio device configuration.

FIG. 12A is a perspective front view of one embodiment of the network enabled component audio device as shown in FIG. 11 that integrates with a home stereo entertainment system.

FIG. 12B is a perspective rear view of one embodiment of the network enabled component audio device as shown in FIG. 11 that integrates with a home stereo entertainment system.

FIG. 13A is a perspective front view of one embodiment of a stand alone network-enabled audio device as shown in FIG. 11.

FIG. 13B is a perspective rear view of one embodiment of a stand alone network-enabled audio device as shown in FIG. 11.

FIG. 14 is a block diagram of the functional elements of the network-enabled audio device as shown in FIGS. 12A, 12B, 13A, and 13B.

FIG. 15 is a block diagram illustrating the configuration between several network-enabled audio devices and a stereo web site as shown in FIG. 11.

FIG. 16 illustrates a process for connecting the components and setting up the software for the network-enabled audio device as shown in FIGS. 12A, 12B, 13A, and 13B.

FIG. 17A shows a default display of the current playlists when the Internet Personal Area network (IPAN) manager software is started.

FIG. 17B illustrates a display that allows the user to control the sound and perform other functions on the audio source.

FIG. 17C illustrates the menus used to assign a playlist, as shown in FIG. 17A, to another device.

FIG. 17D illustrates the songs within a playlist and links to other devices that have the songs present on their hard disk space.

FIG. 17E illustrates a schedule window that appears for a song (shown in FIG. 17D) to be played at a particular time on a specific device.

FIG. 17F illustrates the window that appears to allow the user to choose a default look and feel for the IPAN manager window, as shown in FIG. 17A.

FIG. 17G illustrates the window that appears to allow the user to choose other options and the look and feel for the IPAN manager window, as shown in FIG. 17A.

FIG. 17H illustrates the window that appears to allow the user to move audio files from one device to another device.

FIG. 17I shows a display for allowing a user to add a device to the IPAN.

FIG. 18A shows a default display of the network-enabled audio device, as shown in FIGS. 12A, 12B, 13A, and 13B.

FIG. 18B shows a display for allowing a user to operate the radio functions of the network-enabled audio device, as shown in FIGS. 12A, 12B, 13A, and 13B.

FIG. 18C shows a display for allowing a user to use preset radio stations of the network-enabled audio device, as shown in FIGS. 12A, 12B, 13A, and 13B.

FIG. 18D shows a display for allowing a user to play a playlist stored on the network-enabled audio device, as shown in FIGS. 12A, 12B, 13A, and 13B.

FIG. 18E shows a display for allowing a user to delete a song from a playlist stored on the network-enabled audio device, as shown in FIGS. 12A, 12B, 13A, and 13B.

FIG. 18F shows a display allowing a user to play the songs from all the playlists stored on the network-enabled audio device as shown in FIGS. 12A, 12B, 13A, and 13B.

FIG. 18G shows a display for allowing a user to collect information about a CD and copy a CD to the internal hard drive of the network-enabled audio device shown in FIGS. 12A, 12B, 13A, and 13B.

FIG. 18H shows a display that allows a user to play and navigate through the audio stored on the CD.

FIG. 19A is a flowchart showing the process for downloading audio files found when navigating the Internet.

FIG. 19B is a flowchart showing the process for assigning playlists from one device to another.

FIG. 19C, which comprises FIG. 19C ₁ and FIG. 19C ₂, is a flowchart of the process shown in FIG. 19B that assigns playlists with missing songs from one device to another.

FIG. 20A shows a default display of the network-enabled audio device before the action button has been pressed, as shown in FIGS. 12A, 12B, 13A, and 13B.

FIG. 20B shows a display of the menu items on the network-enabled audio device after the action button has been pressed.

FIG. 20C shows a display of the menu items on the network-enabled audio device after the “music” menu item has been chosen.

FIG. 20D shows a display of the menu items on the network-enabled audio device after the “albums” menu item has been chosen.

FIG. 20E shows a display of the menu items on the network-enabled audio device after the menu item representing an album has been chosen.

FIG. 20F shows a display of the menu items on the network-enabled audio device after the “buy” menu item has been chosen.

FIG. 21 shows a display including an advertisement after the action button has been pressed on the network-enabled audio device.

In the figures, the first digit of any three-digit number generally indicates the number of the figure in which the element first appears. For example, an element with the reference number 502 first appears in FIG. 5. Where four-digit reference numbers are used, the first two digits indicate the figure number.

DETAILED DESCRIPTION

One aspect of the present invention is an intelligent radio device that allows a user to receive digitized radio broadcasts over the World Wide Web (Web). The intelligent radio provides the hardware and software necessary to receive digitized audio from the Web without the need for a personal computer or other expensive equipment. The intelligent radio provides a display device, such as a Liquid Crystal Display (LCD) that allows the user to select a desired Web broadcast from a list of available Web broadcasts.

The display also allows the user to select Web broadcasts in a particular language. The software, the user controls, and the display in the intelligent radio 100 are operably configured and connected such that a user can tune into a Web radio broadcast in a manner similar to the way a user would use the controls on a conventional radio to tune into an AM or FM radio station. Thus, the intelligent radio provides people who are not comfortable with computers, or who do not own or have access to a computer, an opportunity to listen to streaming audio information from the Internet.

In one embodiment, the intelligent radio is a low-cost tabletop box that connects to an AC power line and a phone line. The device includes a display device, speakers, a control panel, a computer processor, a stored software program, and a modem. The intelligent radio uses the modem to establish a telephone connection to an Internet Service Provider (ISP). The stored software program connects to a Web Radio home page, via the ISP, and downloads a list of Web radio station addresses. Alternatively, the user can enter a web address (e.g., a Uniform Resource Locator (URL)) to connect directly to a web page that provides audio broadcasts (instead of first connecting to the Web Radio home page). The user may use buttons on the control panel to scroll through the display and select a Web radio broadcast “station” for listening. When a station is selected, the stored software program connects to the station and begins to receive digitized audio data transmitted by the station. The intelligent radio converts the received data to analog audio and plays the audio on one or more loudspeakers.

In an alternate embodiment, the intelligent radio is a tuner that connects to an audio system such as a component stereo system. The tuner provides an audio output to the audio system. The audio system provides amplifiers and loudspeakers. The tuner comprises an enclosure that connects to an AC power line, a network line, and the audio system. The network line may be any type of computer data connection, including, for example, a telephone line, a cable line, an Ethernet line, a Token-Ring line, a twisted pair line, an infrared link, a radio frequency link, an IEEE-1394 FireWire line, etc. The tuner includes a display device, a control panel, a computer processor, a stored software program, and a modem. The intelligent radio uses the modem to establish a telephone connection to an Internet Service Provider (ISP). The stored software program connects to a Web Radio home page, usually provided by the ISP, and downloads a list of Web radio stations. A user uses use buttons on the control panel (or remote control) to scroll through the display and select a Web radio broadcast “station” for listening. Alternatively, the user may use voice-activated commands to scroll through the display. When a station is selected, the stored software program connects to the station and begins to receive digitized audio data transmitted by the station. The intelligent radio converts the received data to analog audio, which is provided to the audio system.

FIG. 1 illustrates one embodiment of a tabletop intelligent radio 100. The intelligent radio 100 is mounted in an enclosure 101 and connects to household AC power through a power cord 104 and to a communications network by a network cable 102. The network cable 102 may be a telephone line, a network cable, a cable TV cable, a connection to a wireless (e.g., satellite) unit, etc. For example, the communications network may use Iridium satellites developed by the Motorola Corp., Globalstar satellites developed by a consortium of European manufacturers which includes Aerospatiale and Alcatel, P21 satellites developed on a project financed by Inmarsat, or the Odyssey satellite system developed by a TRW consortium associated with Teleglobe/Canada.

User controls are mounted on the front of the enclosure 101 and include a combined on-off and volume control 110, a command button 121, a cursor control 116, a select button 118, a tuning control 114, and a button bar 120. The cursor control 116 provides up, down, left, and right movements of a cursor or other entity on a display device 112. The button bar 120 provides buttons to select an audio source, including, for example, “AM” radio, “FM” radio, “Web” radio, “Cassette,” and “External” input. Also mounted on the front of the enclosure 101 is the display device 112, which provides information to the user. An optional cassette player/recorder 130 provides the capability to play and record audio cassettes. The intelligent radio 100 also includes a left stereo speaker 106 and a right stereo speaker 108 that may be mounted in the enclosure 101 or in separate enclosures. A wireless remote 135 provides remote operation of the intelligent radio 100. In some embodiments, a microphone is provided as well. An output from the microphone is provided to an analog-to-digital converter to convert the analog microphone signal into digital data. The microphone may be placed in the intelligent radio 100, in the wireless remote 135, or both.

FIG. 2 is a block diagram of the functional elements of the intelligent radio 100. The intelligent radio 100 comprises a Central Processor Unit (CPU) 202 that is used to run the intelligent radio software. The CPU 202 is connected to a random access memory 204, a data storage device 210, and a modem 206. The data storage device 210 may be any type of non-volatile data storage device, including, for example, a floppy disk drive, a hard disk drive, a flash memory, a CD-ROM, a DVD-ROM, a CMOS memory with battery backup, etc. The data storage device 210 provides storage for software programs used by the intelligent radio 100. The software stored on the data storage device 210 may be upgraded by downloading new software from the Web. The data storage device 210 may also provide storage for digitized audio material, such as recorded Web radio broadcasts, CD-Audio, etc. The modem 206 is connected to a communications network 230, shown as a Public Switched Telephone Network (PSTN), by the network cable 102. Although the communications network 230 is shown as a PSTN network, one skilled in the art will recognize that the network 230 may also be a cable television (CATV) network, a satellite network, or any other communications network. In one embodiment, the network 230 comprises both a Direct TV/PC satellite connection that provides information to the intelligent radio 100 at high speed (e.g., 400,000 bytes per second or more), and a PSTN network connection so the intelligent radio can upload information back to the ISP 232 (because many Direct TV/PC connections are only one-way). In yet another embodiment, the satellite network is a two-way satellite network that uses the satellite for both download and upload. In one embodiment, the satellite network uses the Iridium™ system developed, in part, by the Motorola Corp.

Optionally, a telephone 229 is connected to a first port of a codec 260. A second port of the codec 260 is provided to the CPU 202. The codec 260 provides digital-to-analog conversion and analog-to-digital conversion for the telephone 229. The codec 260 also provides standard telephone interface signals, such as a ringing signal, to the telephone 229, and telephone status conditions, such as receiver up or receiver down, to the CPU 202. In some embodiments, the codec 260 and the modem 206 may be combined as a telephone modem. The telephone 229 may be connected even when the network 230 is not a telephone network.

The modem 206 provides an interface between the CPU 202 and the communications network 230 and the operational characteristics of the modem 206 are determined by the type of communications network 230. Thus, if the network 230 is a PSTN network, then a telephone modem is used; if the network 230 is a CATV network, then a cable modem is used, etc. In a preferred embodiment, the modem 206 is integral to the intelligent radio 100. In other embodiments, the modem 206 is provided in a separate enclosure. An Internet Service Provider (ISP) 232 provides the user with a connection from the communications network 230 to the Web via the Internet 234. Note that FIG. 2 shows functional elements, but not necessarily hardware configurations. Thus, for example, the modem 206 may be implemented in software on the CPU 202. The CPU 202 may be a Digital Signal Processor (DSP). The CPU 202 may comprise a single computer processor, or multiple computer processors. In one embodiment, the CPU 202 comprises two processors, a DSP and a general purpose microprocessor. In one embodiment, the modem 206 is provided in a plug-in module such that the intelligent radio can be configured for different types of computer networks by simply changing the modem plug-in to suit the type of network being used.

The CPU 202 provides data to the display device 112. The CPU 202 receives user inputs from the command button 121, the tuning control 114, the button bar 120, the select button 118, and the cursor control 116. The CPU 202 provides digitized audio samples to an input of a Digital-to-Analog Converter (DAC) 220. The analog audio output of the DAC 220 is provided to an amplifier 222. In a preferred embodiment, the DAC 220 and the amplifier 222 are each two-channel devices, providing left and right stereo channels. A left channel output of the amplifier 222 is provided to the left channel speaker 106 and a right channel output of the amplifier 222 is provided to the right channel speaker 108. The volume control 110 controls the gain of the amplifier 222.

As shown in the preferred embodiment in FIG. 2, the other optional audio sources such as the cassette device 130, an AM tuner 240, an FM tuner 242, and an external input 244 also provide inputs to the amplifier 222. Other optional audio sources may be provided, such as, for example, an audio CD, a DVD, a digital audio tape unit, etc. The CPU 202 controls the cassette device 130, the AM tuner 240, the FM tuner 242, and other optional audio sources. A line output from the amplifier 222 may also be provided to a record input of the cassette device 130.

As described above, the button bar 120 is used to select one of the audio sources. When the button bar 120 is set to “AM,” the intelligent radio 100 operates in an AM radio mode. In the AM radio mode, an analog output from the AM tuner 240 is provided to the amplifier 222. Also in the AM radio mode, the display device 112 displays the frequency of an AM station selected by the AM tuner 240. The user may use the tuning control 114 to select a desired AM station. The AM mode is optional.

An analog output from a microphone 250 is provided to an analog input of an analog-to-digital converter 252. A digital output from the analog-to-digital converter 252 is provided to the CPU 202. The microphone 250 and converter 252 allow for voice commands to control the intelligent radio. The microphone 250 and converter 252 are optional. In some embodiments, a microphone is also placed in a wireless remote so that voice commands can be provided from the wireless remote.

When the button bar 120 is set to “FM,” the intelligent radio 100 operates in an FM radio mode. In the FM radio mode, the analog audio output from the FM tuner is provided to the amplifier 222, and the display device 112 displays the frequency of the FM station selected by the FM tuner 242. The FM mode is also optional.

When the button bar 120 is set to “Cassette,” the intelligent radio 100 operates in a cassette playback mode. In the cassette playback mode, analog output from the cassette player is provided to the amplifier 222, and the display device 112 displays information relating to the cassette playback. The cassette playback mode is also optional. The cassette device 130 may also optionally be configured to provide a record capability such that the cassette can be used to record audio information from any of the other modes. Thus, for example, the cassette can be used to record FM radio, AM radio, or Web radio broadcasts.

When the button bar 120 is set to “Web,” the intelligent radio 100 operates in a Web Radio mode. In the Web Radio mode, the intelligent radio 100 uses the modem 206 to connect to the ISP 232. The ISP 232 provides a list of available Web broadcasts, and access to the Internet 234, so that the various Web broadcasts can be received by the intelligent radio 100. In the Web Radio mode, the display device 112 is used to select a Web broadcast and to provide information about the selected Web broadcast.

FIGS. 3A through 3E show various displays provided by the display device 112 while in the Web Radio mode. FIG. 3A shows a default display 300 that appears while a Web broadcast is being received. FIG. 3B shows a menu display that allows the user to select one of the command and setup displays shown in FIGS. 3C-3E.

The display 300, shown in FIG. 3A, includes information about the Web broadcast including the type of broadcast (e.g., “Newscast”), the Web address (URL) of the source for the broadcast (e.g., http://www.npr.org), a description of the broadcast (e.g., “National Public Radio 1997”), a broadcast format (e.g., “Streaming RealAudio”), etc.

FIG. 3B shows a menu display 320 that allows the user to access the various setup and control displays shown in FIGS. 3D-3E. The user activates the menu display 320 by pressing the command button 121. The display 320 provides a menu list 322 that lists the various other command displays. The list 322 may provide: a “Tune Station” command for activating a tune-station display 340, shown in FIG. 3E; a “Select Language” command for activating a select-language display 310, shown in FIG. 3C; and a “Select List” command for activating a select-list display 322, shown in FIG. 3D. The list 322 may also provide commands to activate other displays (not shown) such as “Setup,” to initialize the intelligent radio, “Scan Stations,” to get a new list of Web broadcast stations from the Internet 234, and “Define Station,” to manually define a Web broadcast station not listed. The list 322 may also provide commands to activate other displays such as “Set Clock,” and “Set Alarm,” to provide optional clock and alarm clock modes for the display device 112.

The display 320 also provides a scroll bar 321 to allow the user to scroll through the list 322 and select an item (command) from the list. Scrolling may be accomplished by using either the cursor control 116 or the tuning control 114. The user uses the cursor control 116 or the tuning control 114 to highlight a desired menu item in the list 322, and then the user presses the select button 118 to select the highlighted menu item.

The select-language display 310, shown in FIG. 3B, allows the user to elect to receive Web broadcasts in one or more selected languages. The display 310 provides a list of available languages 312 and a scroll bar 314 for scrolling through the list 312. Each item in the list 312 corresponds to a language (e.g., English, French, etc.) and each item is provided with a checkbox 313. If a checkbox 313 is checked, then the corresponding language is enabled. The display 310 also provides an OK button 315, a Cancel button 316, a Clear-All button 317, and a Select-All button 318. The Clear-All button 317 clears all of the checkboxes 313, and the Select-All button 318 checks all of the checkboxes 313. The user “presses” one of the buttons 315-318 by using the cursor control 116 to highlight a desired button and then pressing the select button 118 to “press” the highlighted button.

The select-list display 330, shown in FIG. 3D, allows the user to select a preferred type of program material (e.g., Sports, Weather, News, All, etc.). The display 330 includes a list 332 of program types and a scroll bar 331. The user uses the cursor control 116 or the tuning control 114 to highlight a desired program type from the list 332, and then the user presses the select button 118 to select the highlighted program type.

The select-broadcast display 340, shown in FIG. 3E, allows the user to select a Web broadcast. The display 330 includes a list 342 of the available Web broadcasts having the proper language (as selected in the select language display 310) and the desired program type (as selected in the select-list display 331). The user uses the cursor control 116 or the tuning control 114 to highlight a desired broadcast from the list 342, and then the user presses the select button 118 to select the highlighted program type. Each item in the list 342 is provided with a checkbox 343. If the checkbox 343 is checked, then the corresponding broadcast is a preferred (or “fast-tune”) broadcast. The user may scroll through the fast-tune broadcasts by using the tuning control 114 from the default display 300 shown in FIG. 3A, without having to activate the select-broadcast display 340. This provides a convenient shortcut feature to allow the user to quickly tune to stations that the user regularly listens to.

FIG. 4 illustrates a data-entry display 450 that allows the user to input alphanumeric text (e.g., the telephone number of the ISP 232 or a URL). The display 450 includes a text prompt 451 to prompt the user for the desired data. The display also includes an on-screen keyboard 452, a text display 453, an OK button 454 and a Cancel button 455. The user enters text by using the cursor control 118 to highlight a desired character on the on-screen keyboard 452 and then pressing the select button 118 to enter the highlighted character into the text display 453. The OK button 454 and the Cancel button 455 are “pressed” in the same fashion.

FIG. 5 is a flowchart 500 that begins at a start block 501 and illustrates the Web Radio mode process. The process advances from the start block 501 to a decision block 502, where the process checks a status flag to determine whether or not the intelligent radio software needs to be initialized (setup). If setup is needed, then the process advances to a process block 504; otherwise, the process jumps over the setup steps to a process block 514. In the process block 504, the process obtains a phone number for the desired ISP 232. The phone number may be obtained from a default phone number stored in the intelligent radio software, or by prompting the user through the data-entry display 450. Once the phone number has been obtained, the process advances to a process block 506, where the modem 206 dials the telephone number and establishes a modem connection with the ISP 232. Once the connection is established, the process advances to a process block 508 where the user establishes an account with the ISP 232.

In one embodiment, the user is prompted for a password that is stored on the data storage device 210 or entered using the data-entry display 450. Establishing an account may include other actions, such as creating a username for the user, changing the phone number used to access the ISP 232, and entering information about the user and the user's account. Once an account is established, the process advances to a process block 510 where a list of available Web radio broadcast stations is downloaded to the intelligent radio 100 from the ISP 232 and stored on the storage device 210. Lists of available languages and program types are also downloaded and stored on the storage device 210. Once the lists are downloaded, the process advances to a hang-up block 512 wherein the modem 206 terminates the network connection (e.g., hangs-up the phone). Upon hang-up, the setup process is complete, and the process advances to the process block 514.

In the process block 514, the modem dials the ISP 232 and then advances to a process block 516 where the intelligent radio 100 logs on to the user's account at the ISP 232. The hang-up, redial, and logon (blocks 512, 514, and 516, respectively) is desirable when using a PSTN, because the initial telephone call, placed in the block 506, is typically a long-distance call or a toll-free (e.g., a 1-800) call. By contrast, the telephone call placed in the block 514 is typically a local call. When using a non-PSTN network (e.g., a cable modem, a satellite network, etc.) then the hang-up, redial, and logon (blocks 512, 514, and 516, respectively) is typically omitted.

Once the user is logged on, the process advances to a process block 518 where the user selects (tunes) a Web radio broadcast station. Once a Web broadcast has been selected, the process advances to a process block 520 where the intelligent radio 100 receives the Web broadcast. The CPU 202 decodes and decompresses the received data as necessary and then sends the decompressed data to the DAC 220 where it is converted to an analog signal that is subsequently played on the speakers 106, 108. The process remains in the process block 520 while the user listens to the Web broadcast.

If the user tunes to a new Web broadcast station (e.g., by turning the tuning control 114 or by activating the select-broadcast display 340) then the process loops back to the process block 518, selects the new station, and returns to the process block 520.

FIG. 6A illustrates the information management and data processing functions 600 provided by a Web Radio site 602 (e.g., www.webradio.com). Access to the Internet site 602 is made possible by the Internet access provided by the ISP 232. The Internet site 602 provides a list of Web radio broadcast stations for the user and optionally other value-added services that enhance the operation of the intelligent radio 100. For example, the Internet site 602 may provide a list of available program sources and streaming audio programming. The site 602 may also maintain user profile comprising a list of preferred Internet “broadcast stations.” The site 602 also provides special download capabilities such that the user can download information and software into the intelligent radio. The site 602 also provides upload capabilities such that the user can upload information, such as preferences, etc., from the intelligent radio 100 to the site 602. For example, the site 602 can provide a customized list of stations for each user and voicemail capability. The site 602 may provide reformatting of streaming audio data into a format better suited for the intelligent radio.

In one embodiment, the site 602 also provides Web telephone capabilities to the intelligent radio 100, such that the user can use the intelligent radio as a telephone to talk to other users that are connected to the Internet. In one embodiment of the Web telephone, the codec 260 is used to digitize speech from a microphone in the handset of the telephone 229. The digitized speech is sent over the network 230 to the ISP. The ISP forwards the digitized speech to a remote user. Similarly, the ISP provides digitized speech from the remote user to the intelligent radio. The intelligent radio uses the codec 260 to convert the digitized speech into analog signals that are played on the speakers 106 and 108 or a speaker in the handset of the telephone 229.

In yet another embodiment, the intelligent radio provides voice email in connection with the site 602. To receive email, text-to-voice software in the site 602 is used to convert email text into digitized voice data as words spoken in the user's desired language. The digitized voice data is provided to the intelligent radio where it is converted to an analog signal and played on the speakers 106 and 108 or a speaker in the handset of the telephone 229. To receive email, the user speaks into the microphone 250 or the microphone in the handset of the telephone 229 and the spoken words are converted into digitized speech by the intelligent radio. The intelligent radio sends the digitized speech to the site 602 where it is converted into email text and then emailed to the recipient. The software to convert speech to text and text to speech is provided in the site 602 in order to minimize the cost and complexity of the intelligent radio. Alternatively, the software to convert speech to text and text to speech is provided in the intelligent radio.

In one embodiment, the site 602 also provides special formatting and markup protocols that are tailored to the intelligent radio display 112. Most existing Internet sites are geared towards a computer or television and assume that a user has a large, high resolution, color monitor. Most existing Internet sites also assume that a user is accessing the site by using a Web browser such as Netscape Navigator™ or Microsoft Internet Explorer™. These browsers support high level protocols such as HyperText Markup Language (HTML). The display 112 may be relatively smaller, and relatively less capable than a traditional computer monitor. In some embodiments, the display 112 does not necessarily need all of the capabilities and complexity of HTML and is thus better served by information that is formatted for the display 112 and that is expressed in a markup language that is suited to the needs of the intelligent radio 100, without the overhead and complexity of HTML.

When the user connects to the Internet site, information is passed along a first data stream to an account management block 604. The block 604 provides account management functions relating to the user's account with the ISP 232. The account management block passes data to a user preference block 606, which retrieves user profile information and user preferences specified by the user. Information regarding the user preferences may be stored by the ISP 232, or downloaded from the intelligent radio 100 as needed.

Information is also passed from the process block 602 along a second data stream to a program management block 608. The program management block 608 accesses a language variety database 610 to determine which languages are available, and a program variety database 612 to determine which types of programs are available. The program management block 608 also accesses program sources such as live broadcasts 620, archived broadcasts 624, stored music 626, and other streaming audio sources 622.

User profile information from the user preference block 606 and program data from the program management block 608 are provided to a program list block 616, which constructs a list of available Web programs (broadcasts) that fit the user's preferences. The list constructed in the block 616 is passed to the intelligent radio 100.

FIG. 6B shows the conceptual relationship between the site 602 and other Web sites that supply streaming audio information, such as a site 630, a site 631, and a site 632. The Internet provides the ability to transfer data between any two of the sites 602, 630-632. The user connects, through the ISP 232, to the site 602. The site 602 provides links to the sites 630-632 through the programming lists provided by the site 602. If the user selects a streaming audio program from one of the sites 630-632, then the site 602 provides the necessary link to the selected site. In some embodiments, the site 602 provides the link information to the intelligent radio 100, and the intelligent radio 100 makes a “direct” connection to the selected site. In other embodiments, the site 602 links to the selected site, receives the streaming audio data, reformats the data if desired, and then sends the streaming audio data to the intelligent radio 100.

FIG. 7 illustrates an embodiment of an intelligent radio tuner 700. The tuner 700 is mounted in an enclosure 701 and connects to household AC power through a power cord 104, to a network through a network cable 102, and to an audio system through an audio line 702. User controls are mounted on the front of the enclosure 701 and include an on-off switch 704, a command button 121, a cursor control 116, a select button 118, and a tuning control 114. The cursor control 116 provides up, down, left, and right movements of a cursor or other entity on a display device 112. Also mounted on the front of the enclosure 701 is the display device 112, which provides information to the user.

FIG. 8 is a block diagram of the functional elements of the intelligent radio configured as a tuner 700. The tuner 700 comprises the Central Processor Unit (CPU) 202 that is used to run the intelligent radio software. The CPU 202 is connected to the random access memory 204, the data storage device 210, the modem 206, and the codec 260. The data storage device 210 may be any type of non-volatile data storage device, including, for example, a floppy disk drive, a hard disk drive, a flash memory, a CD-ROM, a DVD-ROM, a CMOS memory with battery backup, etc. The modem 206 is connected to a communications network 230, shown as a Public Switched Telephone Network (PSTN). Although the communications network 230 is shown as a PSTN network, one skilled in the art will recognize that the network 230 may also be a cable television (CATV) network, a satellite network, or any other communications network. The modem 206 provides an interface between the CPU 202 and the communications network 230 and the operational characteristics of the modem 206 are determined by the type of communications network 203. Thus, if the network 230 is a PSTN network, then a telephone modem is used; and if the network 230 is a CATV network, then a cable modem is used, etc. An Internet Service Provider (ISP) 232 provides the user with a connection from the network 230 to the Web via the Internet 234.

The CPU 202 provides data to the display device 112. The CPU 202 receives user inputs from the command button 121, the tuning control 114, the select button 118, and the cursor control 116. The CPU 202 provides digitized audio samples to an input of a Digital-to-Analog Converter (DAC) 220. The analog audio output of the DAC 220 is provided to the audio output 702. In a preferred embodiment, the DAC 220 is a two-channel device, providing left and right stereo channels.

FIG. 9 is a block diagram of the functional elements of an embodiment of an intelligent radio that provides for remote playback. FIG. 9 shows a base unit 900 that is connected to the communications network 230. The base unit 900 receives streaming audio from the Web and transmits the audio information to a remote playback unit 902.

The base unit 900 is similar in most respects to the intelligent radio except that the amplifier 222, the loudspeakers 106 and 108, and the volume control 110 are not located in the base unit 900, but rather are located in the remote playback unit 902. In the base unit, the DAC 220, the cassette device 130, the AM tuner 240, the FM tuner 242, and the external input 244 are connected to a transmitter 904 rather than the amplifier 222. The transmitter 904 provides a transmitted signal to a receiver 906 in the remote unit 902. The receiver 906 provides an audio output to the amplifier 222.

The base unit 900 receives the streaming audio information from the Internet 234 and uses a transmission carrier to retransmit the audio information to one or more remote units 902. The transmitter 904 and the receiver 906 may use any form of communication for the transmission carrier, including radio frequency communication, infrared communication, ultrasonic communication, etc. In one embodiment, the transmitter 904 may be a low power FM (Frequency Modulation) transmitter compatible with standard FM broadcast bands, such that the remote playback unit 902 can be a standard FM transistor radio or a stereo receiver. In yet another embodiment, the transmitter 904 may be a low power AM (Amplitude Modulation) transmitter compatible with standard AM broadcast bands, such that the remote playback unit 902 can be a standard AM transistor radio or a stereo receiver.

In other embodiments, the base unit 900 may also include an amplifier 222, loudspeakers 106 and 108, and a volume control 110 such that the base unit 900 can provide both playback of the audio information and transmission of the audio information to the remote unit 902.

FIG. 10 is a block diagram of the functional elements of an embodiment of an intelligent radio that provides for remote access, comprising a base unit 1002 and an intelligent radio 1000. The base unit 1002 comprises a transceiver 1012 coupled to a modem 1011. The modem 1011 is connected to the communications network 230. The modem 1011 receives data from the ISP and provides the data to the transceiver 1012, which then transmits the data to a transceiver 1010 in the intelligent radio 1000. The transceiver 1010 transmits data from the intelligent radio 1000 to the transceiver 1012. The transceiver 1012 provides the data from the intelligent radio 1000 to the modem 1011, which sends the data to the ISP 232.

The intelligent radio 1000 is similar in most respects to the intelligent radio 100 shown in FIG. 2, with the addition of the transceiver 1010. A data input/output port of the transceiver 1010 is provided to the processor 202 and a Radio Frequency (RF) input/output port of the transceiver 1010 is provided to an antenna. Also, in the intelligent radio 1000, the modem 206 is optional (because network communications are handled by the transceiver 1010 rather than the modem 206).

The transceivers 1010 and 1012 use any suitable means for communication, including, for example, optical communication, radio communication, etc. In a preferred embodiment, the transceivers 1010 and 1012 are radio transceivers that use spread-spectrum communication techniques at a frequency of approximately 2.4 GHz. The combination of the base unit 1002 and the intelligent radio 1000 provides a capability similar to that provided by a cordless telephone. The base unit 1002 can be located near a network connection point (e.g., a telephone outlet), and the intelligent radio 1000 can be conveniently placed anywhere within the range of the base unit 1002. The two-way communication link between the transceiver 1010 and the transceiver 1012 provides a cordless connection to the network 230.

In one embodiment, the intelligent radio, as shown in FIG. 1, is a network-enabled audio device. FIG. 11 illustrates one embodiment of the network-enabled audio device configured for use with other electronic devices. In one embodiment, the network-enabled audio device works in conjunction with a PC. With a network connection, software on a PC can be used to assign playlists of songs to the network-enabled audio device. Further, the network-enabled audio devices can be set to turn on at a certain time and play a playlist of music. In one embodiment, songs encompass a variety of audio sources including, but not limited to, audio files containing music and/or advertisements. Optionally, the network-enabled audio devices can turn on through an Internet connection as well. The front panel, including the user controls, can be disabled in order to prevent users from turning the device off when a playlist is scheduled.

In one embodiment, the network-enabled audio device records user activity and provides that information to a server for data mining purposes. For instance, a user's composition of a playlist including songs from The Beatles can be recorded by the network-enabled audio device and sent to a server tracking the number of users composing playlists including songs from The Beatles. Tracking information can then be provided to record companies interested in selling more Beatles MP3's to gauge consumer demand. In one embodiment, a button is provided for allowing the user to turn the logging feature on or off.

In FIG. 11, an IPAN 1100 includes an IPAN server 1104, a PC IPAN client 1106, a network 1102, a device B 1108, a device A 1110, and user controls 1112. The PC IPAN client 1106 connects to the IPAN Server 1104 through the network 1102 (such as the Internet). The Device 1110 represents a network-enabled audio device, which connects at a default time to the IPAN server 1104. The user can optionally change the default time or can connect to the IPAN server 1104 at a desired time independent of the default time. The user can use the user controls 1112 on the Device 1110 to bypass the default time and connect to the server 1104 immediately. When the Device 1110 connects, the IPAN server 1104 may have a playlist for the Device 1110. The IPAN server 1104 downloads the playlist to the device 1110. The IPAN server 1104 checks to see what devices have the audio files listed in the playlist. The IPAN server 1104 maintains a list of URL's from which the device 1110 received audio files listed in the playlists. In one embodiment, the list of URL's is stored in a catalog. In one embodiment, the catalog also includes other information such as, for example, a list of available audio playback devices and their settings, scheduled audio playback, and/or commands for system synchronization. The Device 1110 attempts to connect to the URL's listed as the location from which the songs located on the Device's 1108 hard drive were retrieved from. If the URL's do not work and the song exists in the IPAN 1100, then the audio files are transferred from the Device 1108 to the Device 1110 by uploading the files from the Device 1108 the next time the Device 1108 connects. The next time the Device 1110 connects, it will download the list of files from the server. If the song does not exist in the IPAN, the Device 1110 attempts to download the song at intervals until the user deletes the song from the playlist or the song is added to the Device 1108. In one embodiment, for example, an empty cone will appear beside the song in the playlist that could not be downloaded. The user can delete the song in order to request a cease in the attempts to download, or the user can refrain from deleting the song from the playlist in order to request that further attempts be made to download the song. A request for further attempts in downloading the song results in further iterations of Device 1110 attempting to download the song from the broken URL followed by attempts to upload the song from Device 1108 when Device 1108 connects.

FIGS. 12A and 12B illustrate one embodiment of a network-enabled component audio device 1200. The device 1200 represents one embodiment of the intelligent radio 700. FIG. 12A illustrates a front view of the network-enabled audio device 1200. The network-enabled audio device 1200 has user controls which are mounted on the front of an enclosure 1202 and include a power button 1204, a shuttle control 1214, an enter button 1216, menu buttons 1212, an action button 1210, and a CD-eject button 1222. On the shuttle control 1214, there is a right button 1264, a left button 1260, an up button 1262, and a down button 1266 for navigating through menus on the display 1230. An infrared port 1208 is mounted on the front of the enclosure 1202 to read signals from a remote control 1250. In one embodiment, the remote control includes buttons for volume, enter, navigation shuttle, action, power, CD eject, and five pre-set menu buttons. A CD player 1220 is also mounted on the front of the enclosure 1202 to play standard audio CD's or MP3 encoded CD's.

In one embodiment, the display 1230 has a menu bar to provide the user with options for listening to playlists, listening to the CD player, or listening to streaming audio. The shuttle control 1214 is used to scroll through the selections in a playlist. Each selection is highlighted as the shuttle control 1214 is pressed right 1264 or left 1260. When the user makes a choice, the enter button 1216 is pressed to signify that choice being made. If the user chooses the playlist option, a drop down menu is displayed in the display 1230 showing the available playlists. The user then uses the shuttle control 1214 to scroll through the playlists by pressing the up button 1262 or the down button 1266. Once the user chooses an audio source with the shuttle control 1214, the user can navigate and play the audio with the group of menu buttons 1212.

The group of menu buttons 1212 is context sensitive and will change function depending on the audio source. For example, in one embodiment, if the user selects the CD player 1220 as the audio source, then the first menu button in the group of menu buttons 1212 is used to play the CD while the second menu button is used to stop. In one embodiment, the bottom of the display 1230 changes according to the audio source determined by the user. If the user chooses to play CDs, a “play” icon appears above the first button in the group of menu buttons. In one embodiment, if the user chooses to listen to the AM/FM radio, a scan icon appears above the first button in the group of menu buttons 1212.

In addition to allowing the user to play files, the network-enabled audio device allows the user to play audio CD's on the CD player 1220. Further, the user can copy and encode songs off CD's in digital formats (known as “ripping”) and compose playlists with those songs and other files and streaming audio.

The action button 1210 allows the user to request the latest news, albums, concerts and other information on artists. For example, if the user is listening to a streaming audio broadcast and does not know who the artist is, he or she can press the action button 1210 and receive information on the display 1230 identifying the artists, the name of the songs, interesting facts about the artist, etc. Optionally, the user can acquire similar information by pressing the action button when listening to a CD or a playlist. In one embodiment, the network-enabled audio device 1200 acquires this information by accessing the IPAN server 1104. The IPAN server 1104 then accesses its own database to search for the requested information. Optionally, the database is located on at least one different server than the IPAN server 1104. In one embodiment, if the information is not found, a sample of the song will be sent to another server to analyze the sample and report back to the IPAN server 1104 with the correct information.

FIG. 12B illustrates a rear view of the network-enabled component audio device 1200. The network-enabled audio device 1200 connects to household AC power through a power cord 1268. The network-enabled audio device 1200 includes a phone jack 1250, an Ethernet port 1252, a line-in connector 1264 having left and right channels, a line-out connector 1262 having left and right channels, a microphone jack 1258, a headphone jack 1260, a TOS link 1256, and a USB port 1254.

In one embodiment, the phone jack 1250 can be used to either establish a modem connection to an ISP and/or to establish a LAN connection (e.g. Home Phone Network Alliance network connection). The Ethernet port 1252 can be used with an Ethernet cable to provide access to an Ethernet LAN. Optionally, the Ethernet port 1252 can be replaced or supplemented with other types of connections to communications networks. A network cable provided to the Ethernet port 1252 can be a network cable, a cable TV cable, a connection to a wireless (e.g., satellite) unit, a power line, etc. For example, the communications network uses satellites developed by the Motorola Corp., Global Star satellites developed by a consortium of European manufacturers which includes Aerospatiale and Alcatel, P21 satellites developed on a project financed by Inmarasat, or the Odyssey satellite system developed by a TRW consortium associated with Teleglobe/Canada.

In one embodiment, the network-enabled audio device 1200 provides an audio output to an associated audio system. For high-speed interaction with other audio components, the digital out TOS link 1256 (also known as “Optic S/PDIF”) is used for an optical connection to provide for the transfer of raw digital streams. Files can be transferred from the network-enabled audio device 1200 without a conversion from digital to analog signals. When the audio file reaches the associated audio system, such as for example a portable MP3 player, the digital audio stream is then converted to an analog stream within the associated audio system to enhance audio quality. The associated audio system provides for amplifiers and loudspeakers.

The line in connector 1264 is an analog line in from another device. The line out connector 1262 is an analog line out to standard left and right RCA-style connectors. The standard USB host connector 1254 allows downloading of music to portable MP3 players (in a host downloading to a slave relationship) and/or USB networking with a PC or other network-enabled audio device 1200 or 1300.

FIGS. 13A and 13B illustrate one embodiment of a tabletop network-enabled audio device 1300. FIG. 13A illustrates a front view of the tabletop version of the network-enabled audio device 1300. As described in more detail below, the network-enabled audio device 1300 is similar to the network enabled audio device 1200 with the addition of extra features such as a radio, amplifier, and speakers. The network-enabled audio device 1300 has user controls which are mounted on the front of the enclosure 1302 and includes the power button 1204, the shuttle control 1214, the enter button 1216, the menu buttons 1212, the action button 1210, the volume control 1316, and a CD eject button 1222. The shuttle control 1214 includes the right button 1264, the left button 1260, the up button 1262, and the down button 1266 for navigating through menus on the display 1230. The infrared port 1208 is mounted on the front of the enclosure 1302 to read signals from the remote control 1250. In one embodiment, the remote control includes buttons for volume, enter, navigation shuttle, action, power, CD eject, and five pre-set menu buttons. The CD player 1220 is also provided on the device 1300 to play standard audio CD's or MP3 encoded CD's. A right speaker 1303 and a left speaker 1303 are operably connected to the network-enabled audio device 1300.

In one embodiment, the group of menu buttons 1212 perform the same or similar functions as the group of menu buttons 1212 in the network-enabled component audio device 1200 illustrated in FIG. 12 except that the display 1230 will illustrate an additional option of playing an AM/FM radio. Therefore, when the shuttle control 1214 is used to select the AM/FM radio audio source and the user presses the enter button 1216, the icons that reflect functions such as tuning, scanning, and other buttons used to navigate and manage an AM/FM audio source appear. If the user chooses to listen to the AM/FM radio, a scan icon appears above the first menu button 1212.

FIG. 13B illustrates a rear view of the tabletop network-enabled audio device 1300. The network-enabled audio device 1300 connects to household AC power through the power cord 1268. The network-enabled audio device includes the phone jack 1250, the Ethernet port 1252, the line-in connector 1264 having left and right channels, the line-out connector 1262 having right and left channels, the microphone jack 1258, the headphone jack 1260, an AM/FM antenna port 1390, left and right speaker outputs 1392, and the USB port 1254.

In one embodiment, the network-enabled audio device 1300 has an AM/FM antenna port for connecting to an AM/FM antenna. The network enabled audio device 1300 includes an amplifier and loudspeakers 1303 (as will be described in FIG. 14) which connect to the left and right speaker outputs 1350.

FIG. 14 is a block diagram of the functional elements of the network-enabled audio devices 1200 and 1300. The network-enabled audio device 1300 typically includes the functional elements of the network-enabled audio device 1200. The network-enabled component audio device system 1300 includes an AM Tuner 1418, an FM tuner 1420, an amplifier 1422, and the speakers 1303. In one embodiment, the network-enabled audio device 1200 does not include the AM tuner 1418, the FM tuner 1420, the amplifier 1422, or the speakers 1303. A Central Processing Unit (CPU) 1402 and a CPU Support Chip 1406 are used to run the software on the network-enabled audio devices 1200 and 1300. In one embodiment, the CPU 1402 is a StrongARM SA-1110 manufactured by Intel, and the CPU Support Chip 1406 is a StrongARM SA-1111 manufactured by Intel. The network-enabled audio device 1200 includes a display 1408, a modem 1410, a memory card 1412, a data storage device 1414, a codec 1416, a CD player, a DAC 1470, a microphone 1480, a line-in port 1482, and a line out 1484. Further, the network-enabled audio device 1200 includes user controls, including a shuttle control 1214, a group of menu buttons 1212, an enter button 1204, and an action button 1210. The network-enabled audio device 1200 connects externally to a network 1428. The network 1428 is shown as a Public Switched Telephone Network (PSTN) 1428 that connects to an ISP 1429 which gives access to the Internet 1102. Through the Internet 1102, a user can access the server site 1104 and thereby access the server site IPAN software 1433.

In one embodiment the CPU 1402 communicates with the random access memory 1412, the telephone modem 1410, and the display 1408. The memory 1412 can be flash memory or a combination of flash memory and other types of memory. The memory 1412 can be volatile or non-volatile or a combination of volatile and non-volatile. The modem 1410 is connected to a communications network 1428, shown as a PSTN 1428. In one embodiment, the modem 1410 is also connected to an HPNA network. Although the communications network 1428 is shown as a PSTN network, one skilled in the art will recognize that the network 1428 can also be a cable television (CATV) network, a satellite network, or any other communications network. In one embodiment, the network 1428 comprises both a Direct TV/PC satellite connection that provides information to the network-enabled audio device at high speed (e.g., 400,000 bytes per second or more), and a PSTN 1428 network connection so the intelligent radio can upload information back to the ISP 1429 (because many Direct TV/PC connections are only one-way). In yet another embodiment, the satellite network is a two-way satellite network that uses the satellite for both download and upload.

A port of the codec 1416 is provided to the CPU Support Chip 1406. In one embodiment, the codec is a Cirrus CS4299 audio codec. The codec 1416 provides analog-to-digital conversion for the microphone 1480 and for the line in 1482, and digital-to-analog conversion for the line out 1484. In some embodiments, the codec 1416 and the modem 1430 are combined as a telephone modem.

The modem 1410 provides an interface between the CPU 1402 and the communications network 1428 and the operational characteristics of the modem 1410 are determined by the type of communications network 1428. Thus, if the network 1428 is a PSTN network, then a telephone modem is used; if the network 1428 is a CATV network, then a cable modem is used, etc. In a preferred embodiment, the modem 1430 is integral to the network-enabled audio device. An Internet Service Provider (ISP) 1429 provides the user with a connection from the communications network 1428 to the Web via the Internet 1430. The server site 1104 can then be accessed, and the server site IPAN software 1433 can be used by the user to manage audio sources and devices. Note that FIG. 14 shows functional elements, but not necessarily hardware configurations. Thus, for example, the modem 1410 can be implemented in software on the CPU 1402 or even on the CPU Support Chip 1406. The CPU 1402 is a single computer processor, or multiple computer processors. In one embodiment, the CPU 1402 comprises two processors, a Digital Signal Processor (DSP) and a general purpose microprocessor. In one embodiment, the modem 1410 is provided in a plug-in module such that the intelligent radio can be configured for different types of computer networks by simply changing the modem plug-in to suit the type of network being used.

Optionally, the microphone 1480 is connected to a second port of the codec 1416. An analog output from the microphone 1480 is provided to the codec 1416. A digital output from the codec 1416 is provided to the CPU 1402. The microphone 1480 allows for voice commands to control the network-enabled audio device. The microphone 1416 is optional. In one embodiment, a microphone (not shown) is also placed in a wireless remote so that voice commands can be provided from the wireless remote. Optionally, headphones can also be used.

The CPU 1402 provides data to the display device 1408. The CPU 1402 receives user inputs from the shuttle control 1214, the group of menu buttons 1212, the enter button 1202, and the action button 1210.

A system bus interface interconnects the CPU 1402 to the CPU Support Chip 1406. In one embodiment, the CPU Support Chip provides digitized audio samples to an input of the Digital-to-Analog Converter (DAC) 1470. The analog audio output of the DAC 1470 is provided to the amplifier 1422. In one embodiment, the DAC 1470 and the amplifier 1422 are each two-channel devices, providing left and right stereo channels. Channel outputs of the amplifier 1422 are provided to the speakers 1303. The volume control controls the gain of the amplifier 1422. In one embodiment, the amplifier and speakers are part of an external stereo system.

The CPU support chip 1406 is also operably connected to a CD player 1426 which outputs audio to the amplifier 1422 or an external amplification system. The CPU Support Chip 1406 or optionally the CPU 1402 also maintains software for managing the transfer of audio files from CD's to the network-enabled audio device's hard drive.

FIG. 15 illustrates a configuration for assigning playlists and audio sources to a network-enabled audio device 1510 or other devices such as a PC 1508 from a network-enabled audio device 1520 or another device. Each network-enabled audio device 1510 has a storage space 1512 for network-enabled audio device IPAN software 1526, a playlist 1528, and associated URL's and songs within the playlist. Similarly, each network-enabled audio device 1520 has a storage space 1522 for network-enabled audio device IPAN software 1526, a playlist 1528, and associated URL's and songs within the playlist. Each client PC 1508 has a storage space 1524 for client IPAN software 1532, a playlist 1534, and associated URL's and songs within the playlist. The server site 1104 includes server site IPAN software 1433, the playlist 1528 stored on the storage space 1522 of device 1510, the playlist 1530 stored on the storage space 1524 of the client PC 1508, and the playlist 1530 stored on the storage space 1522 of the device 1520. A storage space 1506 is provided to the server site 1104 for use in uploading and downloading audio files when URL's are broken. Storage space 1506 for the server site IPAN 1104 and other software programs can be stored externally or locally at the site.

Each network enabled audio device 1510 has storage space 1512 for a playlist 1528, which is a list of audio files and associated URL's of where the audio files were retrieved from. Optionally, the associated URL's can be archived for only file formats that are streaming audio or MP3. Multiple playlists can be stored on the storage space 1512. In addition to the playlist 1528, the actual audio files listed in the playlist are also stored in the storage space 1512. The audio files can be streaming audio, Windows Media Audio (WMA), and other audio formats. The network enabled audio device 1520 performs the same functions as the network enabled audio device 1510 with the storage space 1522, the playlist 1530, the network-enabled audio device IPAN software 1526, and songs and associated URL's.

The PC client 1508 has a storage space 1524 for a playlist 1534 and associated URL's and songs in the playlist. PC IPAN client software 1532 is also stored on the storage space 1524. The PC client 1508 includes a web browser (e.g., Microsoft Explorer, Netscape Navigator, etc.), an IPAN plug-in to the web browser, and an IPAN active tray software module.

The IPAN plug-in opens as soon as the web browser is opened. The IPAN plug-in affects the handling of links to MP3 files, streaming audio, and any other audio file type designated. Whenever a user selects, saves, or opens a file in the web browser, the IPAN plug-in intercepts the normal processing of the web browser and will check to see if the file is an audio file. If the file is an audio file, the IPAN plug-in will allow the user to download the audio file to the IPAN 1100 now or to schedule the file for download at a later time. In either case, the URL can be added to the playlist. Further, the IPAN plug-in will periodically connect to the server site IPAN software 1433 to receive software upgrades or to upload updates of the audio files present on the client PC 1433.

The web browser can be used to connect to the server site 1104 and provide access to the server site IPAN software 1433. The IPAN active tray software module runs in the background when the PC client 1508 is turned on. Without the web browser being opened, the IPAN active tray software module can play audio files in playlists.

At the server site 1104, the user can access the server site IPAN software 1433 through a network connection to the server site IPAN 1104 and from the server site IPAN software 1433 the user can assign playlists to different devices such as the network-enabled audio device 1510, the network-enabled audio device 1520, or the client PC 1508. The user composes the playlists from the server site IPAN software 1433, but typically only stores the title of the song and the URL from which the song came. The playlists stored throughout the IPAN 1100 are also stored in the server site IPAN 1433. The user then has a master list of where all playlists are located. When the device 1510 connects to the server site IPAN 1104, a playlist is assigned to it. Within the playlist, the URL's indicate the location from which the audio files associated with the song titles in the playlist can be downloaded. The network-enabled audio device 1510 then proceeds to download the song from the given site specified by the URL to the disk space 1512 on the device 1510. If the site at the URL is not working, the server site IPAN software 1433 will upload the playlist from the disk space 1522 of another device 1520 the next time the second device 1520 connects to the network. The next time the original device 1510 calls in, it will download the playlist from the server site 1104.

Further, the server downloads software upgrades, if necessary, when the device accesses the IPAN 1433. For example, if the disk space in a device that was supposed to have a playlist was accidentally erased, then the server site 1104 provides the URL's for sites to download the lost playlists. In addition, the server site 1104 downloads any other software used to enhance the communications between the server and the device. Software can also be downloaded to be used by the CPU 1402 or the Support Chip CPU 1406.

In one embodiment, there is no server site 1104. The PC IPAN client software 1532 stores the playlists that are located throughout the IPAN 1100. Through a network connection, the PC IPAN client software assigns playlists to devices 1510 and 1520.

FIG. 16 illustrates the connection steps used when the user first sets up the network-enabled audio device. A user begins at process block 1601 by connecting the speakers and radio antennas to the back of the unit. The user also takes other preparatory measures such as plugging in the AC power cord and connecting a phone cable to a telephone jack. At the next process block 1602, the user can choose to begin listening to preloaded music without setting up any of the software by pressing the power button 1204 on the machine and pressing the “Listen Now/Setup Later” button on the first screen. The user can thus listen to preloaded music before even setting up the software for the network-enabled audio device. The process then advances to the next process block 1603 where the user can scroll through the playlists of preloaded music by using the shuttle control 1214 and the enter button 1216. At the next process block 1605, the user begins to set up the network-enabled audio device 1200 by inserting a setup CD into the CD player 1220. The process advances to process block 1606 where the user returns to the first screen and selects “Setup Now” in order to begin loading the PC IPAN client software 1532 on the network-enabled audio device 1200.

FIGS. 17A through 17I show various displays provided by the PC IPAN client software 1532 and the server site IPAN software 1433. In one embodiment, these displays are produced by web pages provided by the server and display on the user's PC in a web browser. FIG. 17A illustrates a Playlist Manager window 1700 that appears when a user runs the PC IPAN client software 1532 and the server site IPAN software 1433. The user-control buttons in the Playlist Manager window include a client feature control button 1702, an audio player window button 1704, a create new playlist button 1706, a delete button 1708, a schedule button 1710, a play button 1712, a scan hard drive button 1714, an add device button 1716, and a synchronize button 1718. Personal Audio Information Tabs 1726 allow the user to view classifications for audio such as by artist or playlist. The display playlist and song button 1740 provides access to audio and devices such as PC's, network-enabled audio devices 1200 and 1300, portable audio devices, etc. Access is provided as a tree control in the playlist window 1780. The playlist window 1780 displays playlists, the title window 1720 displays songs in the playlist, an arrow button 1760 provides for addition of songs to playlists, and an arrow button 1799 provides for deletion of songs from playlists.

The Client Feature control button 1702 allows the user to select a desired playlist or other audio source to listen to. The client feature control button also allows the user to control the look and feel of the window such as color and background designs (“skins”) etc. The user clicks the play button 1712 to play a selection. To control the volume, shuffle, repeat, and other playback functions, the user clicks the audio player window button 1704. A new popup window appears with buttons for each of those functions. In addition to choosing a playlist, the user can compose a new playlist. The user clicks the new playlist button 1706 to create a new playlist by artist, album, or genre. The user can scan the PC's hard drive for music to incorporate into a playlist by clicking the scan button 1714. The user can also add a device to the IPAN 1433 by clicking the add device button 1716.

To help manage playlists and devices, the Playlist Manager 1700 provides personal audio information tabs 1726. The devices that can be managed include network-enabled audio devices 1200 and 1300, PC's, portable MP3 players, cell phones, etc. With the personal audio information tabs 1726, the user can view and manage the devices, playlists, and audio classifications by “All,” “Playlist,” “Album,” “Artist,” “Genre,” “Books,” or “Clips.” The playlist window 1780 lists the playlists selected by the personal audio information tabs 1726. The title window 1720 lists the songs in a playlist selected in the playlist window 1780. Songs are added to a playlist listed in the playlist window 1780 using the arrow button 1760 and removed from a playlist listed in the playlist window 1780 using the arrow button 1799. The user deletes audio files from the IPAN 1100 by selecting the file and pressing the delete button 1708. Further, the user can schedule playlists or streams to be heard at designated devices and at designated times by using the schedule button 1710. The user can synchronize with the server site IPAN 1433 by clicking the synchronize button 1718. Playlists are stored on the server site IPAN 1433 in addition to the PC IPAN client 1508 or device 1510. In other words, a playlist may have been updated at the server site IPAN 1433 by adding or deleting some songs in the playlist. The user can choose to have the same playlist with two different songs at the server site 1104 and on the device 1200 or 1300. But, if the user made the playlist at the server site IPAN 1433, the user presses the synchronize button 1718 so that the next time the device 1200 or 1300 connects, an updated playlist will be downloaded. To access a playlist or the playlists on a particular device, the user clicks the display button 1740.

FIG. 17B illustrates the display of an audio player window 1792 that includes a previous track button 1782, a play button 1784, a stop button 1786, and a next track button 1790. The audio player window 1792 is invoked by pressing the audio player window button 1704. A volume indicator 1794 displays the current volume. The user can click on the volume indicator 1794 to drag it higher or lower to a different volume. The user can click the shuffle button 1796 to “randomize” the playlist as opposed to playing the playlist in the same order. Further, the user can press the repeat button 1798 in order to have continuous play as opposed to the playlist stopping when it runs out of songs to play. The playlists will typically start from the beginning.

FIG. 17C illustrates the display of the audio player window 1700 showing popup menus that appear when the user attempts to assign a highlighted playlist to another device. After the user highlights a song, the user can right-click on the song in order to have a popup menu 1761 appear with a variety of options such as “Load,” “Play,” “Blast To,” “Copy To,” “Make Available On,” and “Delete.” The user can choose the menu option of “Make Available On” to assign the playlist from one device to another, (e.g. from device 1510 to device 1520). The addition of the device 1510, the device 1520, a portable player, a PC, etc. to the IPAN 1100 will be discussed with reference to FIG. 17I. Once the “Make Available On” option is chosen, another window 1762 appears with options of devices for the playlist to be assigned to. In FIG. 17C, the playlist is assigned to “Living Room iRad-S” instead of “Office Desktop computer,” “Portable Player,” or “Home Desktop Computer.”

FIG. 17D illustrates one embodiment of how the list of songs in a playlist is displayed. A speaker icon 1762 is used to indicate a local audio file. In other words, the audio file is located on some storage space within one of the devices (e.g., a network enabled audio device 1200 or 1300, a PC, a portable player, etc.). A speaker outline icon 1763 indicates a link to an audio file located elsewhere on another device within the IPAN 1100. The link can be clicked in order to see what other devices, if any, the file is located on.

FIG. 17E illustrates a scheduling window 1763 that opens in response to the pressing the schedule button 1710. The user can schedule playlists to be played at a particular time and on a particular device. The network-enabled audio device will automatically turn on at the scheduled time and play the given playlist. The user controls can be disabled in order to prevent a user at a remote location from changing the music scheduled to be played at the given time. Optionally, the user controls can be disabled in order to prevent the network-enabled audio device from being turned off. The scheduling window 1763 allows a user to highlight dates on a calendar and choose devices from menus to be played at a specific time. The user can also choose to interactively play the selected playlist on a day of the week at a particular time. For example, the user can choose to have a selected playlist played every Monday, Tuesday, Wednesday, Thursday, and Friday at 6 p.m.

FIG. 17F illustrates a popup menu for selecting the default look and feel (“skin”) of the IPAN client 1508. The user accesses the “skin” option by pressing the client feature control button 1702 and the client feature control menu 1764 appears. After the user selects “skin” from the client feature control menu 1764, a “skin” menu 1765 appears to provide different “skin” options such as, for example, “Default,” “Executive,” “Space,” “Sixties,” and “Post Industrial.” FIG. 17G shows that the “skin” menu 1765 also provides a “Get More Skins” option to allow the user to see other “skins” besides the ones listed in the “skin” window 1765.

FIG. 17H shows how the user can choose to “blast” a playlist of the existing audio files from a device, such as a portable player, and replace them with a new playlist in one easy process. In other words, the user can delete the existing audio files from a playlist without deleting the playlist name and substitute new audio files for the old audio files. After the user selects a song, the user right-clicks on the song to open a window 1766 with the option “Blast To.” When the “Blast to” menu item is selected, a popup menu 1767 appears to provide the user with a list of devices that the music can be “Blasted” to. Devices such as the network-enabled audio devices 1200 and 1300, PC's, portable players, etc. can be “Blasted” to.

FIG. 17I illustrates a pop up window 1779 for adding a device to the IPAN. A plurality of fields 1771-1774 and a plurality of fields 1775-1778 are provided to allow the user to enter information concerning the new device to be added. The user enters the name of the new device to be added in the field 1771; the serial number of the device in the field 1772; the device type of the new device in the field 1773, the connection point in the field 1774; the time to automatically download to the new device in the field 1775; the maximum time for download duration in the field 1776, and a folder for receiving files in the field 1778. In addition an OK button 1791 and a Cancel button 1792 are provided. Finally, there is a download box 1793 that is checked to have new files and updates automatically downloaded to the device when it is connected to the IPAN 1100. A device can become a dedicated MP3 server by downloading files to the device every time an audio file is downloaded to any other device.

The user selects the type of device in the field 1773 from a list of devices supported by the IPAN 1100. The user may have more than one type of device in the IPAN 1100. Therefore, the user can enter a name in the field 1771 and the serial number in the field 1772 to distinguish similar devices. If the user designates a portable device, the device which the portable device will be connected to is entered in the field 1774 to provide the IPAN with information about how to access the portable device. The download time is entered in the field 1775 to provide the IPAN with the time when the user would like the device to automatically download. The default time is set to early morning (e.g. between midnight and 5 a.m.) because that is the time when the least amount of people are on the telephone and the Internet. The download duration is entered into the field 1776 to provide a maximum time limit for download duration if desired. The default is unlimited, but the user can set a maximum time so that if the download is not finished within the time limit, the device signs off. Before signing off, the current task will be completed. In other words, if the maximum time is exceeded in the middle of downloading the third song in a download of ten songs, the task of downloading the third song will be completed. The download will continue where it left off upon initiation of the next download command. In the previous example, the download will continue at the fourth song. Finally, the server site IPAN software 1433 will automatically install downloaded files in a designated folder unless the user specifies a different location in the field 1778.

FIGS. 18A through 18H illustrate the use of the display 1800 on the network-enabled audio device. In FIG. 18A, the screen display 1802 includes a “Radio” menu item 1804, a “Playlist” menu item 1806, a “Favorites” menu item 1808, a “Jukebox” menu item 1810, a “CD” menu item 1812, and an “Internet Radio” menu item 1814. Residing in the lower portion of the display 1800, the menu buttons 1821-1825 are in the group of menu buttons 1212 and are provided to correspond to icons 1841-1845 residing in the lower portion of the display 1800. Each one of the icons 1841-1845 represents a different function to be performed with respect to a selected audio source.

The user selects items from the screen display 1802 by using the shuttle control 1214 and the enter button 1216. For example, to select the “CD” audio source, the user presses right shuttle control 1264 until the “CD” menu item is highlighted. The user then presses the enter button 1216. Once an audio source is selected, context sensitive icons 1841-1845 appear above the corresponding menu buttons 1821-1825. Depending on the chosen audio source, the icons 1841-1845 represent different functions.

FIG. 18B illustrates the screen display 1802 when the audio source is an AM/FM radio, such as the AM/FM “Radio” menu item 1804. The menu item 1804 is highlighted to indicate that the AM/FM “Radio” audio source has been chosen. The menu buttons 1821-1825 change context to correspond to icons that represent functions related to the audio source selected. Because the AM/FM “Radio” audio source was selected, the menu buttons 1821-1825 change context to correspond to the icons for an AM/FM tuner. The icons 1841-1845 shown as, respectively, a play icon 1841 corresponding to a play function 1830, a scan next icon 1842 corresponding to a scan next function 1832, a scan previous icon 1843 corresponding to a scan next function 1834, a radio presets icon 1844 corresponding to a radio presets function 1836, and a stop icon 1845 corresponding to a stop function 1838. As further illustrated in FIG. 18C, if the menu button 1823 corresponding to the icon 1844 representing the radio presets function 1836 is pressed, the menu buttons 1821-1825 change context to correspond to icons 1841-1845 which represent the choice of preset stations with each of the functions 1870-1874 corresponding to a different radio station. In one embodiment, the radio source menu option 1804 is omitted.

FIG. 18D shows the screen display 1802 after the user has selected the Playlist menu item 1806. The menu buttons 1821-1825 are used to select from various playlist icons 1841-1845. The icons 1841-1845 shown as, respectively, a play icon 1841 corresponding to a play function 1875, a record icon 1842 corresponding to a record function 1876, an export icon 1843 corresponding to an export function 1877, and back to previous menu icon 1845 corresponding to a back to previous menu function 1878. The shuttle control 1214 and the enter button 1216 are used to select a song from the playlist in order to play. The record function 1876 will record a playlist to the network-enabled audio device's storage device 1510. The export mode downloads the playlist to a portable player. After a song is chosen from a playlist in FIG. 18D, FIG. 18E shows the menu buttons 1821 and 1822 changing context to correspond to icons 1840 and 1841. The icons 1841 and 1842 are shown as, respectively, a delete icon 1841 corresponding to a delete function 1848 and a back to previous menu icon 1850 corresponding to a back to previous menu function 1850.

FIG. 18F illustrates the Jukebox audio source 1810, which provides a listing of all the audio files stored on the hard drive 1512 of the network enabled audio device 1510 by Title, Artist, Album, or Genre. The menu buttons 1821 and 1822 change contexts to correspond go icons 1840 and 1841. The icons 1841 and 1842 are shown as, respectively, a play icon 1849 corresponding to a play function 1849 and a back to previous menu icon 1851 corresponding to a back to previous menu function 1851.

FIG. 18G illustrates the CD audio source 1812 being selected. The menu buttons 1821-1823 change context to correspond to icons 1841-1843. The icons 1841-1843 are shown as, respectively, a Name CD icon 1841 corresponding to a Name CD function 1852, a Record CD icon 1842 corresponding to a Record CD function 1854, and a back to previous menu icon 1843 corresponding to a back to previous menu function 1856. The Record CD function 1854 can be used to copy tracks from a CD to the hard drive 1512 for future use in playlists. The Name CD function 1852 is used to retrieve a title name for a track and other information via the Internet from a CD database site after the Record CD function 1854 has been used to copy the CD to the hard drive. In one embodiment, an online database is checked via the Internet.

In FIG. 18H, when the CD player is being played, menu buttons 1821-1825 change context to correspond to icons 1841-1844. The icons 1841-1845 are shown as, respectively, a previous track icon 1841 corresponding to a previous track function 1892, a pause icon 1842 corresponding to a pause function 1894, a next track icon 1843 corresponding to a next track function 1896, and a stop icon 1844 corresponding to a stop play function 1898.

FIG. 19A is a flowchart that illustrates an audio query process 1900 of the IPAN 1100. The audio query process 1900 begins at start block 1940 where the PC IPAN client software 1532 is opened. In one embodiment, a portion of the PC IPAN client software 1532 is part of the “active tray” so that when a user turns the PC 1508 on, the PC IPAN client software 1532 is opened. Further, a portion of the PC IPAN client software 1532 is part of the IPAN plug-in so that when an Internet or other network connection is established, the PC IPAN client software 1532 runs in the background to query whether to add an audio file found on the Internet to the server site IPAN 1104. The process advances to a process block 1942 where the user finds a desired audio file as addressed by a URL. The user can search the Internet for audio without having to access the web site associated with the server site 1502. In a decision block 1944, the user is asked, through a menu, if the file is to be downloaded. If the process advances to a process block 1948, the user has decided to download the file now and the playlist is added to the IPAN 1100. At a process block 1950, the file has been downloaded and is available for playing. If the user decides “NO” (i.e. to download the file at a later time or at the default time) the process advances to a process block 1946 to download the file at that default or more convenient time. The process then advances to a process block 1948 when the file is added to the IPAN 1100. The web site associated with the server site 1104 does not have to be opened. The PC IPAN client software 1532 will download the software to the hard drive of the PC 1508 and connect to the web site associated with the server site 1508 to upload the audio files. At the final process block 1950, the audio files will be available for playing.

FIG. 19B is a flowchart 1900 that begins at start block 1902 and illustrates the assignment of playlists to devices. The process advances from the start block 1902 to a process block 1904 where the user logs into the server site IPAN 1433. The process advances to the next process block 1908 where the user assigns a playlist to a first device 1510. In one embodiment, the playlist is stored in an SQL database and accessed via active server pages. After the active server pages access the SQL database, the playlist is downloaded to the first device 1510. The process then advances to a decision block 1908 where the process checks to see if all the songs in the playlist are stored in the first device's hard drive 1512. If all the songs in the playlist are already on the first device 1510, the songs on device 1510 are catalogued as being present. If songs need to be downloaded, the server site IPAN 1433 forms a list of remaining songs. In the next process block 1910, the server site IPAN 1433 compares the list of remaining songs to its records of the songs present on the device 1520 to see if the device 1520 has some of the necessary songs to complete the playlist formation. If the second device 1520 does have some of the remaining songs, the URLs of those songs, which are stored on the Server site IPAN, are provided to the first device 1510. The remaining songs which the second device 1520 does not have are deleted from the list of remaining songs and do not become part of the playlist. In the next process block 1914, the first device 1510 will download the songs from the URLs provided to it by server site IPAN 1433. The first device 1510 downloads all of the remaining songs needed for the playlist from the second device's 1520 URL's, but if all the songs are not on the second device's 1520 playlist, the first device 1510 will either get them from another device or in the worst case compose a playlist from only the songs that could be retrieved.

In the decision block 1916, the process determines if any URLs are broken. If A is unable to download the files from the URLs, the server site IPAN 1433 will upload the files to the server site in process block 1920, store the files in the interim, and download the files to the first device 1510 in process block 1922 the next time the first device 1510 calls in. For instance, the first device 1510 can be located on the east coast, and the second device 1520 can be located on the west coast. The first device 1510 may be assigned a playlist that is stored on the disk drive 1522 of the second device 1520. When the first device connects (e.g., at 2 a.m.) to the server site IPAN 1433, the first device will receive the URL's for the location where the second device 1520 downloaded the audio files and now the first device 1510 can download the audio files. If the URLs are broken, the first device 1510 will disconnect. When the second device 1520 calls in three hours later at 2 a.m. Pacific Time, the server site IPAN 1433 will upload the audio files to the server site 1104 and store the files on the disk space 1506. When the first device 1510 connects at 2 a.m. the following evening, the audio files will be ready to download from the server site 1104 to the first device 1510. The audio files will finally be stored on the disk space 1512.

At process block 1922, the songs that are present on the device 1510's storage space, the songs that have been downloaded from URL's to the device 1510, and the songs that have been uploaded to the device 1520 are catalogued in the IPAN 1100. In one embodiment, the songs are catalogued in the IPAN 1100 at the time that they are found. For instance, the songs that are on the device 1510's hard drive found at the process block 1908 can be catalogued in the IPAN 1100 at that time rather than at process block 1922. Further, the songs downloaded from URL's can be catalogued at process block 1916 or decision block 1916. Finally, the songs uploaded from the device 1520 can be catalogued at the time of uploading at process block 1918 or at the time of downloading at process block 1920. Optionally, delays in cataloguing can be used. In one embodiment, for example, the uploaded songs and the downloaded songs are all catalogued at process block 1920 whereas the songs present on the device 1510's storage space are catalogued at the decision block 1908.

FIG. 19C is a flowchart 1980 that illustrates another embodiment of the process of flowchart 1900. In one embodiment, the flowchart 1980 has process and decision blocks that handle an assignment of a playlist that includes songs not present on the device 1510. The process advances from the start block 1902 through 1908 in the same fashion as the process in flowchart 1900. In contrast to the process in flowchart 1900, the process then advances to decision block 1990 rather than 1910. At decision block 1990, if songs need to be downloaded, the server site IPAN 1433 checks its records to see if the device 1520 has all the necessary songs on the list of remaining songs to complete the playlist formation. If the device 1520 has none or some but not all of the necessary songs, the process advances to a process block 1950. At the process block 1950, the necessary songs that are not present on the device 1520 are catalogued in the new playlist with empty cone icons next to those songs. Optionally, the icon can be a symbol other than an empty cone. The playlist is not yet completely formed and will have additions of songs that are present on the device 1520 at a later point in the process. The process then advances to a process block 1952 and deletes songs that the device 1520 does not have from the list of remaining songs. The process then advances to decision block 1954 to determine if the list of remaining songs is empty. If the list of remaining songs is empty, then the process advances to process block 1922 where the songs present on the device 1510's storage space 1512 are catalogued in addition to the missing songs that are catalogued. In one embodiment, cataloguing does not include multiple entries for songs determined to be present at an earlier time. For instance, if a song is present on a device and is catalogued once as being present on the device, a multiple entry for the song being present on the device will not be made at a subsequent iteration of the process. If the list of remaining songs is not empty, the process advances to the process block 1912. At the process block 1912, the process in the flowchart 1980 proceeds in the same fashion as the process in flowchart 1900 until the process advances to the process block 1922. After all the songs (including the missing songs) are catalogued at the process block 1922, the process advances to the process block 1960 where the list of remaining songs is deleted. At the process block 1962, if the playlist does not contain any songs with an empty cone icon, the playlist is complete and the process advances to the end process block 1924. If the playlist contains any songs with an empty cone icon, the process advances to the decision block 1964 to allow the user to delete the missing songs. If the user deletes the missing songs, the playlist is complete, and the process advances to the end process block 1924. If the user decides not to delete the missing songs, a new list of remaining songs is created consisting of the missing songs not deleted by the user. The process then advances to the decision block 1990.

At the decision block 1990, if the device 1520 initially had all the remaining songs on the playlist, the process 1980 proceeds in the same fashion as the process 1900. In one embodiment, if the process advanced from the process block 1966 rather than 1908, the missing songs have been added to the storage space 1522 of the device 1520 so that the playlist can now be complete. The process advances through iterations until all the songs present on the playlist are present on the storage space 1512 of the device 1510 or until the user deletes songs from playlist so that no missing songs are present. In one embodiment, the process advances from the process block 1966 to the decision block 1908 in order to check whether the missing songs have been added to the storage space 1512 of the device 1510 or the storage space 1522 of the device 1520 so that the playlist can now be complete.

In one embodiment, the IPAN 1100 includes a network connection so that the first device 1510 and the second device 1520 can have audio files downloaded from the first device 1510 to the second device 1520 almost instantaneously after the assignment of an audio file to the device 1510. For example, in a home network, the device 1510 does not need to connect to the Internet and can retrieve the necessary file through the network connection.

FIGS. 20A-20F illustrate the use of the action button 1210 on the network-enabled audio devices 1200 or 1300. FIG. 20A illustrates the screen display 1802 before the action button 1210 has been pressed. In one embodiment, the action button 1210 can be pressed when an audio source (e.g. an audio source in MP3 file format) with an unidentified artist is playing. Optionally, the action button 1210 can be pressed when an audio source in MP3 file format with an identified artist is playing. Optionally, the action button 1210 can be pressed for audio sources such as, for example, streaming audio, files in WMA file format, CDs, etc. The menu buttons 1821-1825 represent the functions that can be performed on the given audio source before the action button 1210 is pressed. For an MP3 file, for example, the menu buttons 1821-1825 correspond to a “pause” function, a “next” function, a “previous” function, an “add favorites” function, and a “stop” function. After the action button 1210 is pressed, the menu buttons 1821-1825 change context to perform functions that provide additional information on the given audio source and artist. Further, after the action button 1210 is pressed, the artist will no longer be shown as “unknown” because the audio source will be uploaded to a server for analysis to determine the identification of the artist. The server will download the identity of the artist in addition to other information concerning the audio source.

FIG. 20B illustrates the screen display 1802 after the action button 1210 has been pressed. The “unknown” artist in FIG. 20A has been determined to be “Moby,” and the unidentified MP3 file has been identified as “Porcelain.” The menu buttons 1821-1825 correspond to menu items that provide information on, or related to, the audio source. A title menu 2002 is provided to indicate the location in the directory of action button options that the user has chosen. If the user is at the beginning of the action button directory structure, the screen display 1802 illustrates the text “action” in the title menu 2002.

The menu buttons 1821-1825 correspond to the menu items “news,” “music,” “tour,” “offers,” and “done.” By choosing the menu item “news,” information will be presented to the user of current events regarding the artist and/or the given audio source. For instance, the “news” function can display Billboard top 40 information, clothing lines introduced by the artist, new albums, etc. The menu button 1822 corresponding to the “music” menu item provides the user access to other audio sources from a given artist. The menu button 1823 corresponding to the “tour” menu item allows the user to get up-to-date information on tours that the artist is going on. The menu 1824 corresponds to the “offers” menu item which allows the user to receive information on merchandise, promotional items, etc. for the given artist. The menu button 1825 corresponding to the “done” menu item allows a user to turn off the action button 1210.

FIG. 20C illustrates the screen display 1802 after the menu item “music” has been chosen. The menu path 2204 lists “action” to indicate to the user that the menu title “music” 2202 was a menu item chosen from the menu items illustrated in the screen shot denoted by the menu title “action.” The menu buttons 1821-1825 correspond to the menu items “albums,” “similar,” “samples,” “back,” and “done.” If the user selects the “albums” menu item the user will be able to view a list of other albums by the artist of the audio source. In one embodiment, the server downloads the albums listing when the action button 1210 is pressed for the first time. Optionally, the server downloads additional information after the user selects one of the menu buttons 1821-1825. When the user presses the menu button 1822, the “similar” menu item is chosen and a listing of albums that are from a genre of music similar to that of the audio source or from artists that are in some way similar to the artist of the audio source is presented. If the “similar” menu item is performed on Moby and “Porcelain,” a list of techno songs from Moby and/or techno songs from other artists can be presented. If the user presses the menu button 1823 corresponding to the “samples” menu item, audio samples from the artist will be presented. If the user presses the menu button 1824 corresponding to the “back” menu item, the location illustrated in the menu title is returned to. If the user presses the menu button 1825 corresponding to the “done” menu item, the action button 1210 is turned off.

FIG. 20D illustrates the screen display 1802 after the menu item “albums” has been chosen. The menu path 2204 lists “action/music” to indicate to the user that the menu title “albums” 2202 was a menu item chosen from the menu items illustrated in the screen shot denoted by the menu title “music.” The menu buttons 1821-1824 correspond to different albums for the given artist. FIG. 20D illustrates four of Moby's albums: “Moby,” “Ambience,” “Everything is Wrong,” and “Animal Rights.” The menu button 1825 corresponds to the “done” function which allows the user to turn the action button 1210 off.

FIG. 20E illustrates the screen display 1802 after the menu item “Ambient” is chosen on the screen display 1802 illustrated in FIG. 20D. The menu path 2204 action/music/albums shows that “Ambient” was chosen from the menu title “albums” 2202. The menu item “buy” is chosen to purchase the album “Ambient.” The menu item “download” is chosen to download the “Ambient” album. The menu item “listen” is pressed to allow the user to listen to the album. The menu item “back” allows the user to access the previous menu title. To reach the screen shot with the menu title “albums” from the menu title “Ambient,” the user chooses the “back” menu item. The user can turn the action button off by pressing the “done” menu item.

FIG. 20F illustrates the screen display 1802 after the user determines to buy the album illustrated in FIG. 20E. The menu path action/music/albums/buy indicates that the user chose the “buy” menu item in FIG. 20E. The title menu 2202 “complete” is used at the end of the transaction. The menu item “buy” can be chosen to allow the user to complete the transaction. To reach the screen shot with the menu title “Ambient” from the menu title “Complete,” the user chooses the “back” menu item. The menu button 1825 corresponds to the menu item “done” which allows the user to turn the action button 1210 off.

In FIG. 20B, if the menu item “news” is chosen by the user, the subsequent screen will display the menu path “action,” the menu title “news,” and the menu items: “listen,” “read,” “log to myactions,” “back,” “done.” If the user chooses the menu item “read,” a subsequent screen displays the menu path “action/news,” the menu title “read,” and the menu items “log to myactions,” “back,” and “done.” If the user chooses the menu item “log to myactions,” information about a particular artist or a particular audio source will be stored in a log for future reference. The displayed menu path will be “action/news/to myactions,” the menu title will be “complete,” and the menu items will be “back” and “done.”

If instead of reading the news, the user would like to listen to the “news,” the “listen” menu item can be chosen in the screen displaying the “action” menu path and the “news” menu title. The next screen will display the “action/news” menu path and the “listen” menu title. The screen will also alert the user as to the status of the retrieval of the news. The menu items include “log to myactions,” “back” and “done.”

In FIG. 20C, the user can choose the menu item “samples” so that the next screen displays the menu path “action/music,” the menu title “samples,” and the menu items which include different audio source samples. After the user chooses a sample from the menu items of samples, a screen displays the menu path “action/music/samples,” the title menu “Ambient,” and the menu items “buy,” “download,” “listen,” “back,” and “done.” If the user chooses to select the “buy” menu item, the next screen displays the menu path “action/music/samples/buy,” the menu title “complete,” and the menu items “back,” and “done.”

In FIG. 20B, if the user decides to select the menu item “tour,” the next screen will display the menu path “action,” the menu title “tour,” and the menu items “appearing,” “log to myactions,” “back,” and “done.” If the user selects the menu item “appearing,” the next screen will display a location or locations of tours for the given artist. For example, when the user presses “tour” for “Moby,” the screen can display “Dec. 13, 2000 Verizon Amphitheater Irvine Calif.” The screen will also display the menu title “appearing” and the menu items “log to myactions,” “back,” and “done.” If the user selects the “log to myactions” menu item, the next screen displays the menu path “action/tour/appearing,” the menu title “complete” and the menu items “log to myactions,” “back,” and “done.”

In FIG. 20B, if the user selects the “offers” menu item, the next screen displays the menu path “action,” the menu title “offers,” and the menu items “merch,” “special,” “back,” and “done.” If the user selects the menu item “merch,” the next screen displays the menu path “action/offers,” the menu title “merchandise,” and the menu items “item one,” “item two,” “item three,” “back,” and “done.” If the user selects the menu item “item one,” the next screen displays the menu path “action/offers/merchandise,” “item one,” and the menu items “buy,” “log to myactions,” “back,” and “done.” If the user selects “buy,” the next screen displays the menu path “action/offers/merchandise/buy,” the menu title “complete,” and the menu items “buy,” “back,” and “done.” The screen also displays the artist and the item selected. For example, the screen displaying “Moby, Item 1” indicates that the user bought Item 1 by Moby. If instead of buying Item 1, the user wishes to keep a log of Item 1 for future reference, the user can upload that future reference to a server. For instance, in the next screen, the menu path can be “action/offers/merchandise/to myaudioramp.” The menu title is “complete,” and the menu items are “back” and “done.”

In FIG. 20C, if the user decides to choose “similar” music, the next screen displays the menu path “action/music,” the menu title “similar,” and the menu items that include audio sources similar to that of the artist with the given audio source. Menu items that can appear on the screen for “Moby,” for example, are “808 state,” “air,” “aphex,” “back,” and “done.” If the user decides to select the menu item “808 state,” the next screen displays the menu path “action/music/similar,” the menu title “808 state,” the menu items “buy,” “download,” “listen,” “back,” and “done.” If the user decides to buy “808 state,” the next screen displays the menu path “action/music/similar/buy,” the menu title “complete,” and the menu items “back” and “done.”

In FIG. 20C, if the user decides to select the menu item “samples,” the next screen displays the menu path “action/music,” the menu title “samples,” and the menu items that include audio source samples of the given album. The menu items for “Moby” can include “Moby,” “Ambient,” “Everything is Wrong,” “Animal Rights,” and “done,”

In FIG. 20C, if the user selects the menu item “similar,” the next screen displays the menu path “action/music/similar,” the menu title “listen,” and the menu items “back” and “done.” The user can also choose to download the similar music. The next screen displays the menu path “action/music/similar,” the menu title “download,” and the menu items “back” and “done.”

In FIG. 21, after the action button 1210 is pressed, the audio-enabled device 1200 or 1300 can at times play advertisements. For a Nike advertisement, the text “Nike” would be displayed on the first line of the screen. The text of the advertisement, such as “radio free Sydney, air max knukini offer,” can be displayed underneath the “Nike” text. The menu title “action” 2002 is displayed and the menu items “buy,” “log to myactions,” “more info,” “offers,” and “done” are displayed. If the user decides to buy the products offered in the advertisement, the next screen displays the menu path “action/buy,” the menu title “complete,” the menu items “back” and “done,” and the advertisements are displayed. If the user decides instead to store the offer for a future reference, the menu path “action/to myaudioramp” is displayed in addition to the menu title “complete,” and the menu items “back” and “done” are displayed. If the user wishes to receive more information, the “more info” menu item can be chosen. The menu path “action/more info,” the menu title “more info,” and the menu items “buy,” “log to myactions,” “offers,” and “done” are displayed.

While the above description contains many specifics, these should not be construed as limitations on the scope of the invention, but rather as an exemplification of preferred embodiments thereof. The various user controls and buttons can be relocated, combined, reconfigured, etc. Most of the user controls and buttons can even be omitted entirely in favor of voice-activated commands. One skilled in the art will recognize that many of the various features, and capabilities described in connection with the intelligent radio 100, are also applicable to other embodiments as well, including the embodiments described in connection with FIGS. 7-10 and the network-enabled audio device in FIGS. 13A-21. One skilled in the art will also recognize that other embodiments are contemplated, including, for example, handheld intelligent radios, and intelligent radios for boats, cars, trucks, planes, and other vehicles, etc.

One skilled in the art will recognize that these features, and thus the scope of the present invention, should be interpreted in light of the following claims and any equivalents thereto. 

What is claimed is:
 1. A method of operating a wireless electronic device comprising: receiving an assignment of a playlist identifying a plurality of songs wherein the playlist defines a sequence for playing the identified plurality of songs; determining a plurality of devices from which the plurality of songs may be retrieved; determining an availability of the plurality of devices; and connecting to at least one of the plurality of devices to access at least one of the plurality of songs for providing the playlist to be played according to the defined sequence by default.
 2. The method of claim 1, wherein the playlist is a list referencing media items arranged to be played in the sequence.
 3. The method of claim 1, wherein the playlist comprises universal resource locators (URLs) for audio files corresponding to the plurality of songs.
 4. The method of claim 3, wherein connecting to at least one of the plurality of devices to access at least one of the plurality of songs comprises accessing at least one of the URLs for the audio file corresponding to the at least one of plurality of songs.
 5. The method of claim 4, wherein accessing the at least one of the URLs for the audio file corresponding to the at least one of the plurality of songs comprises downloading a corresponding audio file.
 6. The method of claim 4, wherein the availability of the plurality of devices is determined from a catalog.
 7. The method of claim 4 further comprising accessing an alternative URL if accessing the URL for the audio file corresponding to the at least one of the plurality of songs is incomplete.
 8. The method of claim 4 further comprising accessing the URL at regular intervals if accessing the URL for the audio file corresponding to the at least one of the plurality of songs is incomplete.
 9. The method of claim 8, wherein accessing the URL at regular intervals ends when any one of the plurality of songs is deleted from the playlist.
 10. The method of claim 8, wherein accessing the URL at regular intervals ends when any one of the plurality of songs becomes available.
 11. The method of claim 1, wherein the plurality of devices from which at least one of the plurality of songs may be retrieved are determined from a catalog.
 12. An electronic device comprising: a memory; a communication interface; a central processing unit connected to the memory and the communication interface, the central processing unit operable to: receive a playlist assigned to the electronic device, the playlist identifying a plurality of songs, wherein the playlist defines a sequence for playing the identified plurality of songs and wherein at least one of the plurality of songs is not stored on the electronic device; and scan the memory for songs to incorporate into the playlist for providing the playlist to be played according to the defined sequence by default.
 13. The device of claim 12 wherein scanning the memory for songs to incorporate into the playlist is conducted in response to receipt of an input.
 14. The device of claim 13 wherein the input comprises the receipt of a button selection.
 15. A method of operating a device comprising: receiving a playlist assigned to an electronic device, the playlist identifying a plurality of songs, wherein the playlist defines a sequence for playing the identified plurality of songs and wherein at least one of the plurality of songs is not stored on the electronic device; and scanning a memory of the electronic device for stored songs to incorporate into the playlist for providing the playlist to be played according to the defined sequence by default.
 16. The method of claim 15, wherein the playlist is a list referencing media items arranged to be played in the defined sequence.
 17. A method of operating an electronic device comprising: receiving an assignment of a playlist identifying a plurality of songs wherein the playlist defines a sequence for playing the identified plurality of songs and wherein at least one of the plurality of songs is not stored on the electronic device; scanning a memory of the electronic device for stored songs to incorporate into the playlist; determining a plurality of devices from which the plurality of songs may be retrieved; determining an availability of the plurality of devices; and connecting to at least one of the plurality of devices to access the at least one of the plurality of songs for providing the playlist to be played according to the defined sequence by default.
 18. The method of claim 17, wherein the playlist is a list referencing media items arranged to be played in the defined sequence. 